#ifndef _ASSERT_H_
#define _ASSERT_H_
#include "python3/PythonGrammar30TreeConstants.h"
#include "ast/stmtType.h"
#include "ast/exprType.h"
class IVisitor;
class Assert;
typedef QSharedPointer<Assert> AssertPtr;

class Assert: public stmtType
{
public:
    explicit Assert(const exprTypePtr& test, const exprTypePtr& msg, int nodeId=JJTASSERT_STMT);
    virtual ~Assert();
    
    
    exprTypePtr test();
    void setTest(const exprTypePtr& test);
    
    exprTypePtr msg();
    void setMsg(const exprTypePtr& msg);
    
    
    virtual QString type() const;
    virtual QString toString() const;
    virtual void accept(IVisitor* visitor, const SimpleNodePtr& node);
    virtual void traverse(IVisitor* visitor);
private:
    exprTypePtr _test;
    exprTypePtr _msg;
};




#endif